package common

import (
	"github.com/gin-gonic/gin"
	"net/http"
)

type Result struct {
	Code string      `json:"code"`
	Msg  string      `json:"msg"`
	Data interface{} `json:"data"`
}

// OKData 定义一个返回成功的函数
func OKData(c *gin.Context, data interface{}) {
	c.JSON(http.StatusOK, Result{
		Code: ErrOk.Code,
		Msg:  ErrOk.Msg,
		Data: data,
	})
}

func OK(c *gin.Context) {
	c.JSON(http.StatusOK, Result{
		Code: ErrOk.Code,
		Msg:  ErrOk.Msg,
		Data: nil,
	})
}

// Fail 定义一个返回错误的函数
func Fail(c *gin.Context, errorCode *ErrorCode) {
	c.JSON(http.StatusOK, Result{
		Code: errorCode.Code,
		Msg:  errorCode.Msg,
		Data: nil,
	})
}

func Error(c *gin.Context) {
	c.JSON(http.StatusOK, Result{
		Code: ErrFail.Code,
		Msg:  ErrFail.Msg,
		Data: nil,
	})
}

func BizError(c *gin.Context, msg string) {
	c.JSON(http.StatusOK, Result{
		Code: ErrCommon.Code,
		Msg:  msg,
		Data: nil,
	})
}
